package com.knowledge.business.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.knowledge.common.annotation.Excel;
import com.knowledge.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 设备信息对象 sys_device
 *
 * @author zhaoyk
 * @date 2025-09-23
 */
@Data
@TableName(value = "sys_device")
@EqualsAndHashCode(callSuper = true)
public class SysDevice extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    @TableField(value = "deviceId")
    private String deviceId;
    /**
     * "设备名称"
     */
    @Excel(name = "设备名称")
    @TableField(value = "deviceName")
    private String deviceName;
    /**
     * "锦囊ID，主键"
     */
    @Excel(name = "锦囊ID，主键")
    @TableField(value = "roleId")
    private String roleId;
    /**
     * "可用全局function的名称列表(逗号分割)，为空则使用所有全局function"
     */
    @Excel(name = "可用全局function的名称列表(逗号分割)，为空则使用所有全局function")
    @TableField(value = "functionNames")
    private String functionNames;
    /**
     * "IP地址"
     */
    @Excel(name = "IP地址")
    @TableField(value = "ip")
    private String ip;
    /**
     * "WiFi名称"
     */
    @Excel(name = "WiFi名称")
    @TableField(value = "wifiName")
    private String wifiName;
    /**
     * "芯片型号"
     */
    @Excel(name = "芯片型号")
    @TableField(value = "chipModelName")
    private String chipModelName;
    /**
     * "设备类型"
     */
    @Excel(name = "设备类型")
    @TableField(value = "type")
    private String type;
    /**
     * "固件版本"
     */
    @Excel(name = "固件版本")
    @TableField(value = "version")
    private String version;
    /**
     * "设备状态：1-在线，0-离线"
     */
    @Excel(name = "设备状态：1-在线，0-离线")
    @TableField(value = "state")
    private String state;
    /**
     * "电量(后加)"
     */
    @Excel(name = "电量(后加)")
    @TableField(value = "power")
    private String power;
    /**
     * "图片(后加)"
     */
    @Excel(name = "图片(后加)")
    @TableField(value = "image")
    private String image;
    /**
     * "视频(后加)"
     */
    @Excel(name = "视频(后加)")
    @TableField(value = "video")
    private String video;
    /**
     * "滚动词(后加)"
     */
    @Excel(name = "滚动词(后加)")
    @TableField(value = "rollingWords")
    private String rollingWords;
    /**
     * "欢迎词(后加)"
     */
    @Excel(name = "欢迎词(后加)")
    @TableField(value = "welcomeWords")
    private String welcomeWords;

    /**
     * "emoji"
     */
    @Excel(name = "emoji")
    @TableField(value = "emoji")
    private String emoji;


    /**
     * "创建人"
     */
    @Excel(name = "创建人")
    @TableField(value = "userId")
    private Long userId;
    /**
     * "最后登录时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastLogin;

    @TableField(exist = false)
    private String nickName;

    /**
     * "锦囊配置名称"
     */
    @TableField(exist = false)
    private String roleName;


}
